package group2.service;

import group2.model.OrderDetail;
import group2.model.OrderInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 李显星
 * @date 2020/8/17 15:16
 **/
public interface IOrderIService {


    /**
     * 添加订单
     * @param order
     * @return
     */
    int addOrder(OrderInfo order);


    /**
     * 添加订单详情
     * @param orderDetail
     */
    int addOrderDetail(OrderDetail orderDetail);


    /**
     * 查询所有订单
     * @return
     */
    List<OrderInfo> findAll();


    /**
     * 查询进行中的订单
     * @return
     */
    List<OrderInfo> findOfProcessing();


    /**
     * 查询已完成的订单
     * @return
     */
    List<OrderInfo> findOfFinish();


    /**
     * 查询已取消的订单
     */
    List<OrderInfo> findCancel();


    /**
     * 按订单编号查询
     * @param orderId
     * @return
     */
    List<OrderDetail> findOrderDetailById(String orderId);


    /**
     * 查询最晚添加的订单编号
     * @return
     */
    String findOrderId();


    /**
     * 取消订单
     * @param orderId
     */
    int cancelOrder(String orderId);


    /**
     * 删除订单
     * @param orderId
     */
    int deleteOrder(String orderId);


    /**
     * 确认收货
     * @param orderId
     * @return
     */
    int confirmReceipt(String orderId);


}
